﻿using System;
namespace Songhay.Data.GenericWeb.DataTransferContracts
{
    /// <summary>
    /// The data transfer contract for Fragment data.
    /// </summary>
    public interface IFragment
    {
        /// <summary>
        /// Gets or sets the Client ID.
        /// </summary>
        /// <value>The Client ID.</value>
        string ClientId { get; set; }
        /// <summary>
        /// Gets or sets the create date.
        /// </summary>
        /// <value>The create date.</value>
        DateTime? CreateDate { get; set; }
        /// <summary>
        /// Gets or sets the Document ID.
        /// </summary>
        /// <value>The Document ID.</value>
        int? DocumentId { get; set; }
        /// <summary>
        /// Gets or sets the end date.
        /// </summary>
        /// <value>The end date.</value>
        DateTime? EndDate { get; set; }
        /// <summary>
        /// Gets or sets the display name of the Fragment.
        /// </summary>
        /// <value>The display name of the Fragment.</value>
        string FragmentDisplayName { get; set; }
        /// <summary>
        /// Gets or sets the Fragment ID.
        /// </summary>
        /// <value>The Fragment ID.</value>
        int? FragmentId { get; set; }
        /// <summary>
        /// Gets or sets the name of the Fragment.
        /// </summary>
        /// <value>The name of the Fragment.</value>
        string FragmentName { get; set; }
        /// <summary>
        /// Gets or sets whether the Fragment is active.
        /// </summary>
        /// <value>The Fragment is active?</value>
        bool? IsActive { get; set; }
        /// <summary>
        /// Gets or sets whether the Fragment is next
        /// with respect to another Fragment.
        /// </summary>
        /// <value>The Fragment is next?</value>
        bool? IsNext { get; set; }
        /// <summary>
        /// Gets or sets whether the Fragment is previous
        /// with respect to another Fragment.
        /// </summary>
        /// <value>The Fragment is previous?</value>
        bool? IsPrevious { get; set; }
        /// <summary>
        /// Gets or sets whether the Fragment is a wrapper.
        /// </summary>
        /// <value>The Fragment is a wrapper?</value>
        bool? IsWrapper { get; set; }
        /// <summary>
        /// Gets or sets the item characters.
        /// </summary>
        /// <value>The item characters.</value>
        string ItemChar { get; set; }
        /// <summary>
        /// Gets or sets the item text.
        /// </summary>
        /// <value>The item text.</value>
        string ItemText { get; set; }
        /// <summary>
        /// Gets or sets the modification date.
        /// </summary>
        /// <value>The modification date.</value>
        DateTime? ModificationDate { get; set; }
        /// <summary>
        /// Gets or sets the next Fragment ID.
        /// </summary>
        /// <value>The next Fragment ID.</value>
        int? NextFragmentId { get; set; }
        /// <summary>
        /// Gets or sets the Previous Fragment ID.
        /// </summary>
        /// <value>The Previous Fragment ID.</value>
        int? PrevFragmentId { get; set; }
        /// <summary>
        /// Gets or sets the sort ordinal.
        /// </summary>
        /// <value>The sort ordinal.</value>
        byte? SortOrdinal { get; set; }
    }
}
